package com.beg.cant.comment.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;

public class UniqueIdGenerator {

    // 使用AtomicInteger保证在高并发情况下也能安全地递增
    private static final AtomicInteger counter = new AtomicInteger(new Random().nextInt());
    private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
    private static final Random random = new Random();
    /**
     * 生成一个16位不重复的纯数字ID。
     *
     * @return 16位的字符串形式的数字ID
     */
    public static Long generateUniqueId() {
        long timestamp = System.currentTimeMillis() % 10000; // 取毫秒末4位（0-9999）
        int randomPart = new Random().nextInt(100);          // 2位随机数（0-99）
        return timestamp * 100 + randomPart;                 // 4位时间 + 2位随机 = 6位
    }

    public static void main(String[] args) {
        // 测试生成多个ID
        for (int i = 0; i < 5; i++) {
            System.out.println(generateUniqueId());
        }
    }
}